#ifndef ABRAHAMLINCOLN_H_
#define ABRAHAMLINCOLN_H_

#include "ControlledVertibrateObject.h"
#include "Beard.h"
#include "ObjectList.h"
#include "SupplyBag.h"
#include "GrenadeObject.h"

class AbrahamLincoln: public ControlledVertibrateObject
{
	protected:
	Vector2D beardAnchorOffset;
	Vector2D beardAnchor;
	
	
	public:
	SupplyBag * supplyBag;
	Beard * beardString;
	AbrahamLincoln( SupplyBag * supplyBag,
			TextureManager * textureManager,
			Vector2D position, 
			float mass);
	virtual ~AbrahamLincoln();
	GrenadeObject * UseGrenade();
	virtual bool CanCollideWith(Object * object);
	virtual void ControlledVertibrateObjectThinkEntryPoint(double elapsedTime);
	virtual void ControlledObjectThinkEntryPoint(double elapsedTime);
	virtual void ControlledObjectDrawEntryPoint();
	virtual void ControlledObjectRotateEntryPoint(float cosTheta, float sinTheta);
	virtual void ControlledObjectAddGravityEntryPoint();
	virtual void ControlBeard(bool left, bool right, bool up, bool down);
	virtual void ControlBeard(Vector2D mousePoint);
	virtual void MoveBeard(Vector2D mousePoint);
	virtual void BeardRelease();
	virtual bool BeardCollide(ObjectList * objectList);
	SupplyBag * GetSupplyBag();
	
};
#endif /*ABRAHAMLINCOLN_H_*/
